Soru & Cevap

CustomListview hangi view' in tıklandığını bulmak

12.04.2014 - 01:45

Merhaba.

Custom listview   içerisinde  yanyana iki  buton,   ya da  radiobuton  gibi  elemanlar var.

Bu butonları ya da  radiobuttonları  nasıl  dinleyebiliriz? 

8 Görüntülenme

2 Cevap

Sitedeki sorulara cevap verebilmek için giriş yapın ya da üye olun.

picture-12265-1397142254.jpg
gkaradagan
14.04.2014 - 11:10

Arkadaş tam olarak onu istememiş listview içerisindeki ıkı tane butona tıklamayı demıs, bunu adapter'ın ıcınde getview func içinde yapabilirsin mesela, ıkı tane butonun var ama yapacakları şeyler diğer rowlarla aynı dıyelım ama bulundugu rowdaki bilgilere göre hareket etcekler o zaman adapter getview içinde setonclicklinstener ile tıklandıklarında calısamalarını saglarsın sonra ıclerınde o rowdaki bilgilere işlemlerini yaptırırsın eğer yapamazsan daha detaylı bilgi veririm.

Ömer
14.04.2014 - 05:51
Tam olarak istediğim bu. Detayıyla yazayım çünkü biraz takıldım burda. Listview İçerisinde "textview" ve yanında "radioGroup" var. Bu radioGroup içerisinde hangi radiobutton' a tıklandığını -onCheckedChanged(int checkeId)- ile dinleyip, o satıra ait "Textview" verisi ile tıklama esnasında işlem yaptırmam gerek. Fakat textView bilgisine erişemiyorum. Özetle radioButton' a tıklama işleminin hangi satırda gerçekleştiğini bilmem gerekiyor.
picture-12244-1392330775.png
olkun.mustafa
12.04.2014 - 02:28

Listview içerisinde ki tıklama olayını setOnItemClickListener kullanarak yapıyoruz.

listView.setOnItemClickListener(new OnItemClickListener() {
        publicvoid onItemClick(AdapterView<?> parent, View view, int position, long id) {            Toast.makeText(getApplicationContext(), ((TextView) view).getText(), Toast.LENGTH_SHORT).show();
} });

OnItemClick içerisinde position parametresi ListView içerisinde tıklanan elemanın sıralamadaki pozisyonunu veriyor.

 

Ömer
14.04.2014 - 05:53
Soruyu acele ile yazdığımdan ve güncelleyemediğimden anlaşılır olmamış. Kusura bakmayın. Soruyu Görkem' in cevabına yaptığım yorumda güncelledim. Teşekkürler.